Shinku-kan Algorithm